package com.example.mybatisstudy.mapper;

import com.example.mybatisstudy.model.Articleinfo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

@Mapper
public interface ArticleMapper {

    List<Articleinfo> all();

    Articleinfo queryById(Integer id);

    int add(Articleinfo a);

    int modify(Articleinfo a);

    int del(Integer id);

    //可以使用map省略自定义类型：键作为变量名，值作为变量引用的数据
    //col=>排序的字段名,sortBy=>升序还是降序
    List<Articleinfo> querySort(Map<String, String> info);

    //以上写法，map的键，是需要满足xml中规定的，但是controller是不知道
    //建议：尽量保持方法参数、返回值，属性是确定的
    List<Articleinfo> querySort2(String col, String sortBy);

    // 如果传过来的title是   ' or '1'='1
    // 就是sql注入，返回了不是预期的数据
    Articleinfo queryByTitle(String title);

    List<Articleinfo> queryLikeTitle(String title);

    List<Articleinfo> queryArticleWithUser();

}
